/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package es.esi.gemde.vv.mast.mastmodel.provider;

import es.esi.gemde.vv.mast.mastmodel.util.ModelAdapterFactory;

import java.util.ArrayList;
import java.util.Collection;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;

/**
 * This is the factory that is used to provide the interfaces needed to support Viewers.
 * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
 * The adapters also support Eclipse property sheets.
 * Note that most of the adapters are shared among multiple instances.
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public class ModelItemProviderAdapterFactory extends ModelAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
	/**
	 * This keeps track of the root adapter factory that delegates to this adapter factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ComposedAdapterFactory parentAdapterFactory;

	/**
	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IChangeNotifier changeNotifier = new ChangeNotifier();

	/**
	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Collection<Object> supportedTypes = new ArrayList<Object>();

	/**
	 * This constructs an instance.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ModelItemProviderAdapterFactory() {
		supportedTypes.add(IEditingDomainItemProvider.class);
		supportedTypes.add(IStructuredItemContentProvider.class);
		supportedTypes.add(ITreeItemContentProvider.class);
		supportedTypes.add(IItemLabelProvider.class);
		supportedTypes.add(IItemPropertySource.class);
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Activity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ActivityItemProvider activityItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Activity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createActivityAdapter() {
		if (activityItemProvider == null) {
			activityItemProvider = new ActivityItemProvider(this);
		}

		return activityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Alarm_Clock_System_Timer} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Alarm_Clock_System_TimerItemProvider alarm_Clock_System_TimerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Alarm_Clock_System_Timer}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAlarm_Clock_System_TimerAdapter() {
		if (alarm_Clock_System_TimerItemProvider == null) {
			alarm_Clock_System_TimerItemProvider = new Alarm_Clock_System_TimerItemProvider(this);
		}

		return alarm_Clock_System_TimerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Barrier} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BarrierItemProvider barrierItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Barrier}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBarrierAdapter() {
		if (barrierItemProvider == null) {
			barrierItemProvider = new BarrierItemProvider(this);
		}

		return barrierItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Bursty_External_Event} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Bursty_External_EventItemProvider bursty_External_EventItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Bursty_External_Event}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBursty_External_EventAdapter() {
		if (bursty_External_EventItemProvider == null) {
			bursty_External_EventItemProvider = new Bursty_External_EventItemProvider(this);
		}

		return bursty_External_EventItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Character_Packet_Driver} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Character_Packet_DriverItemProvider character_Packet_DriverItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Character_Packet_Driver}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCharacter_Packet_DriverAdapter() {
		if (character_Packet_DriverItemProvider == null) {
			character_Packet_DriverItemProvider = new Character_Packet_DriverItemProvider(this);
		}

		return character_Packet_DriverItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Composite_Operation} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Composite_OperationItemProvider composite_OperationItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Composite_Operation}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createComposite_OperationAdapter() {
		if (composite_OperationItemProvider == null) {
			composite_OperationItemProvider = new Composite_OperationItemProvider(this);
		}

		return composite_OperationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Composite_Timing_Requirement} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Composite_Timing_RequirementItemProvider composite_Timing_RequirementItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Composite_Timing_Requirement}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createComposite_Timing_RequirementAdapter() {
		if (composite_Timing_RequirementItemProvider == null) {
			composite_Timing_RequirementItemProvider = new Composite_Timing_RequirementItemProvider(this);
		}

		return composite_Timing_RequirementItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Concentrator} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ConcentratorItemProvider concentratorItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Concentrator}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createConcentratorAdapter() {
		if (concentratorItemProvider == null) {
			concentratorItemProvider = new ConcentratorItemProvider(this);
		}

		return concentratorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Delay} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DelayItemProvider delayItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Delay}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDelayAdapter() {
		if (delayItemProvider == null) {
			delayItemProvider = new DelayItemProvider(this);
		}

		return delayItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Delivery_Server} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Delivery_ServerItemProvider delivery_ServerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Delivery_Server}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDelivery_ServerAdapter() {
		if (delivery_ServerItemProvider == null) {
			delivery_ServerItemProvider = new Delivery_ServerItemProvider(this);
		}

		return delivery_ServerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Document_Root} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Document_RootItemProvider document_RootItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Document_Root}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDocument_RootAdapter() {
		if (document_RootItemProvider == null) {
			document_RootItemProvider = new Document_RootItemProvider(this);
		}

		return document_RootItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.EDF_Policy} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EDF_PolicyItemProvider edF_PolicyItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.EDF_Policy}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEDF_PolicyAdapter() {
		if (edF_PolicyItemProvider == null) {
			edF_PolicyItemProvider = new EDF_PolicyItemProvider(this);
		}

		return edF_PolicyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.EDF_Scheduler} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EDF_SchedulerItemProvider edF_SchedulerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.EDF_Scheduler}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEDF_SchedulerAdapter() {
		if (edF_SchedulerItemProvider == null) {
			edF_SchedulerItemProvider = new EDF_SchedulerItemProvider(this);
		}

		return edF_SchedulerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Enclosing_Operation} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Enclosing_OperationItemProvider enclosing_OperationItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Enclosing_Operation}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEnclosing_OperationAdapter() {
		if (enclosing_OperationItemProvider == null) {
			enclosing_OperationItemProvider = new Enclosing_OperationItemProvider(this);
		}

		return enclosing_OperationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Fixed_Priority_Policy} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Fixed_Priority_PolicyItemProvider fixed_Priority_PolicyItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Fixed_Priority_Policy}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createFixed_Priority_PolicyAdapter() {
		if (fixed_Priority_PolicyItemProvider == null) {
			fixed_Priority_PolicyItemProvider = new Fixed_Priority_PolicyItemProvider(this);
		}

		return fixed_Priority_PolicyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Fixed_Priority_Scheduler} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Fixed_Priority_SchedulerItemProvider fixed_Priority_SchedulerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Fixed_Priority_Scheduler}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createFixed_Priority_SchedulerAdapter() {
		if (fixed_Priority_SchedulerItemProvider == null) {
			fixed_Priority_SchedulerItemProvider = new Fixed_Priority_SchedulerItemProvider(this);
		}

		return fixed_Priority_SchedulerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.FP_Packet_Based_Scheduler} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected FP_Packet_Based_SchedulerItemProvider fP_Packet_Based_SchedulerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.FP_Packet_Based_Scheduler}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createFP_Packet_Based_SchedulerAdapter() {
		if (fP_Packet_Based_SchedulerItemProvider == null) {
			fP_Packet_Based_SchedulerItemProvider = new FP_Packet_Based_SchedulerItemProvider(this);
		}

		return fP_Packet_Based_SchedulerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Global_Max_Miss_Ratio} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Global_Max_Miss_RatioItemProvider global_Max_Miss_RatioItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Global_Max_Miss_Ratio}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createGlobal_Max_Miss_RatioAdapter() {
		if (global_Max_Miss_RatioItemProvider == null) {
			global_Max_Miss_RatioItemProvider = new Global_Max_Miss_RatioItemProvider(this);
		}

		return global_Max_Miss_RatioItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Hard_Global_Deadline} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Hard_Global_DeadlineItemProvider hard_Global_DeadlineItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Hard_Global_Deadline}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createHard_Global_DeadlineAdapter() {
		if (hard_Global_DeadlineItemProvider == null) {
			hard_Global_DeadlineItemProvider = new Hard_Global_DeadlineItemProvider(this);
		}

		return hard_Global_DeadlineItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Hard_Local_Deadline} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Hard_Local_DeadlineItemProvider hard_Local_DeadlineItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Hard_Local_Deadline}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createHard_Local_DeadlineAdapter() {
		if (hard_Local_DeadlineItemProvider == null) {
			hard_Local_DeadlineItemProvider = new Hard_Local_DeadlineItemProvider(this);
		}

		return hard_Local_DeadlineItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Immediate_Ceiling_Resource} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Immediate_Ceiling_ResourceItemProvider immediate_Ceiling_ResourceItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Immediate_Ceiling_Resource}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createImmediate_Ceiling_ResourceAdapter() {
		if (immediate_Ceiling_ResourceItemProvider == null) {
			immediate_Ceiling_ResourceItemProvider = new Immediate_Ceiling_ResourceItemProvider(this);
		}

		return immediate_Ceiling_ResourceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Interrupt_FP_Policy} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Interrupt_FP_PolicyItemProvider interrupt_FP_PolicyItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Interrupt_FP_Policy}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createInterrupt_FP_PolicyAdapter() {
		if (interrupt_FP_PolicyItemProvider == null) {
			interrupt_FP_PolicyItemProvider = new Interrupt_FP_PolicyItemProvider(this);
		}

		return interrupt_FP_PolicyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.List_of_Drivers} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected List_of_DriversItemProvider list_of_DriversItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.List_of_Drivers}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createList_of_DriversAdapter() {
		if (list_of_DriversItemProvider == null) {
			list_of_DriversItemProvider = new List_of_DriversItemProvider(this);
		}

		return list_of_DriversItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Local_Max_Miss_Ratio} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Local_Max_Miss_RatioItemProvider local_Max_Miss_RatioItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Local_Max_Miss_Ratio}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createLocal_Max_Miss_RatioAdapter() {
		if (local_Max_Miss_RatioItemProvider == null) {
			local_Max_Miss_RatioItemProvider = new Local_Max_Miss_RatioItemProvider(this);
		}

		return local_Max_Miss_RatioItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.MAST_MODEL} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected MAST_MODELItemProvider masT_MODELItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.MAST_MODEL}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createMAST_MODELAdapter() {
		if (masT_MODELItemProvider == null) {
			masT_MODELItemProvider = new MAST_MODELItemProvider(this);
		}

		return masT_MODELItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Max_Output_Jitter_Req} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Max_Output_Jitter_ReqItemProvider max_Output_Jitter_ReqItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Max_Output_Jitter_Req}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createMax_Output_Jitter_ReqAdapter() {
		if (max_Output_Jitter_ReqItemProvider == null) {
			max_Output_Jitter_ReqItemProvider = new Max_Output_Jitter_ReqItemProvider(this);
		}

		return max_Output_Jitter_ReqItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Message_Transmission} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Message_TransmissionItemProvider message_TransmissionItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Message_Transmission}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createMessage_TransmissionAdapter() {
		if (message_TransmissionItemProvider == null) {
			message_TransmissionItemProvider = new Message_TransmissionItemProvider(this);
		}

		return message_TransmissionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Multicast} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected MulticastItemProvider multicastItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Multicast}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createMulticastAdapter() {
		if (multicastItemProvider == null) {
			multicastItemProvider = new MulticastItemProvider(this);
		}

		return multicastItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Non_Preemptible_FP_Policy} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Non_Preemptible_FP_PolicyItemProvider non_Preemptible_FP_PolicyItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Non_Preemptible_FP_Policy}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createNon_Preemptible_FP_PolicyAdapter() {
		if (non_Preemptible_FP_PolicyItemProvider == null) {
			non_Preemptible_FP_PolicyItemProvider = new Non_Preemptible_FP_PolicyItemProvider(this);
		}

		return non_Preemptible_FP_PolicyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Offset} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected OffsetItemProvider offsetItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Offset}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createOffsetAdapter() {
		if (offsetItemProvider == null) {
			offsetItemProvider = new OffsetItemProvider(this);
		}

		return offsetItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Overridden_Fixed_Priority} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Overridden_Fixed_PriorityItemProvider overridden_Fixed_PriorityItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Overridden_Fixed_Priority}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createOverridden_Fixed_PriorityAdapter() {
		if (overridden_Fixed_PriorityItemProvider == null) {
			overridden_Fixed_PriorityItemProvider = new Overridden_Fixed_PriorityItemProvider(this);
		}

		return overridden_Fixed_PriorityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Overridden_Permanent_FP} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Overridden_Permanent_FPItemProvider overridden_Permanent_FPItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Overridden_Permanent_FP}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createOverridden_Permanent_FPAdapter() {
		if (overridden_Permanent_FPItemProvider == null) {
			overridden_Permanent_FPItemProvider = new Overridden_Permanent_FPItemProvider(this);
		}

		return overridden_Permanent_FPItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Packet_Based_Network} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Packet_Based_NetworkItemProvider packet_Based_NetworkItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Packet_Based_Network}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPacket_Based_NetworkAdapter() {
		if (packet_Based_NetworkItemProvider == null) {
			packet_Based_NetworkItemProvider = new Packet_Based_NetworkItemProvider(this);
		}

		return packet_Based_NetworkItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Packet_Driver} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Packet_DriverItemProvider packet_DriverItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Packet_Driver}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPacket_DriverAdapter() {
		if (packet_DriverItemProvider == null) {
			packet_DriverItemProvider = new Packet_DriverItemProvider(this);
		}

		return packet_DriverItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Periodic_External_Event} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Periodic_External_EventItemProvider periodic_External_EventItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Periodic_External_Event}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPeriodic_External_EventAdapter() {
		if (periodic_External_EventItemProvider == null) {
			periodic_External_EventItemProvider = new Periodic_External_EventItemProvider(this);
		}

		return periodic_External_EventItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Polling_Policy} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Polling_PolicyItemProvider polling_PolicyItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Polling_Policy}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPolling_PolicyAdapter() {
		if (polling_PolicyItemProvider == null) {
			polling_PolicyItemProvider = new Polling_PolicyItemProvider(this);
		}

		return polling_PolicyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Primary_Scheduler} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Primary_SchedulerItemProvider primary_SchedulerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Primary_Scheduler}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPrimary_SchedulerAdapter() {
		if (primary_SchedulerItemProvider == null) {
			primary_SchedulerItemProvider = new Primary_SchedulerItemProvider(this);
		}

		return primary_SchedulerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Priority_Inheritance_Resource} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Priority_Inheritance_ResourceItemProvider priority_Inheritance_ResourceItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Priority_Inheritance_Resource}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPriority_Inheritance_ResourceAdapter() {
		if (priority_Inheritance_ResourceItemProvider == null) {
			priority_Inheritance_ResourceItemProvider = new Priority_Inheritance_ResourceItemProvider(this);
		}

		return priority_Inheritance_ResourceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Query_Server} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Query_ServerItemProvider query_ServerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Query_Server}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createQuery_ServerAdapter() {
		if (query_ServerItemProvider == null) {
			query_ServerItemProvider = new Query_ServerItemProvider(this);
		}

		return query_ServerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Rate_Divisor} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Rate_DivisorItemProvider rate_DivisorItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Rate_Divisor}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRate_DivisorAdapter() {
		if (rate_DivisorItemProvider == null) {
			rate_DivisorItemProvider = new Rate_DivisorItemProvider(this);
		}

		return rate_DivisorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Regular_Event} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Regular_EventItemProvider regular_EventItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Regular_Event}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRegular_EventAdapter() {
		if (regular_EventItemProvider == null) {
			regular_EventItemProvider = new Regular_EventItemProvider(this);
		}

		return regular_EventItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Regular_Processor} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Regular_ProcessorItemProvider regular_ProcessorItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Regular_Processor}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRegular_ProcessorAdapter() {
		if (regular_ProcessorItemProvider == null) {
			regular_ProcessorItemProvider = new Regular_ProcessorItemProvider(this);
		}

		return regular_ProcessorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Regular_Scheduling_Server} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Regular_Scheduling_ServerItemProvider regular_Scheduling_ServerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Regular_Scheduling_Server}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRegular_Scheduling_ServerAdapter() {
		if (regular_Scheduling_ServerItemProvider == null) {
			regular_Scheduling_ServerItemProvider = new Regular_Scheduling_ServerItemProvider(this);
		}

		return regular_Scheduling_ServerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Regular_Transaction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Regular_TransactionItemProvider regular_TransactionItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Regular_Transaction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRegular_TransactionAdapter() {
		if (regular_TransactionItemProvider == null) {
			regular_TransactionItemProvider = new Regular_TransactionItemProvider(this);
		}

		return regular_TransactionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.RTEP_PacketDriver} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected RTEP_PacketDriverItemProvider rteP_PacketDriverItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.RTEP_PacketDriver}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRTEP_PacketDriverAdapter() {
		if (rteP_PacketDriverItemProvider == null) {
			rteP_PacketDriverItemProvider = new RTEP_PacketDriverItemProvider(this);
		}

		return rteP_PacketDriverItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Secondary_Scheduler} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Secondary_SchedulerItemProvider secondary_SchedulerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Secondary_Scheduler}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSecondary_SchedulerAdapter() {
		if (secondary_SchedulerItemProvider == null) {
			secondary_SchedulerItemProvider = new Secondary_SchedulerItemProvider(this);
		}

		return secondary_SchedulerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Simple_Operation} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Simple_OperationItemProvider simple_OperationItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Simple_Operation}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSimple_OperationAdapter() {
		if (simple_OperationItemProvider == null) {
			simple_OperationItemProvider = new Simple_OperationItemProvider(this);
		}

		return simple_OperationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Singular_External_Event} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Singular_External_EventItemProvider singular_External_EventItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Singular_External_Event}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSingular_External_EventAdapter() {
		if (singular_External_EventItemProvider == null) {
			singular_External_EventItemProvider = new Singular_External_EventItemProvider(this);
		}

		return singular_External_EventItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Soft_Global_Deadline} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Soft_Global_DeadlineItemProvider soft_Global_DeadlineItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Soft_Global_Deadline}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSoft_Global_DeadlineAdapter() {
		if (soft_Global_DeadlineItemProvider == null) {
			soft_Global_DeadlineItemProvider = new Soft_Global_DeadlineItemProvider(this);
		}

		return soft_Global_DeadlineItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Soft_Local_Deadline} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Soft_Local_DeadlineItemProvider soft_Local_DeadlineItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Soft_Local_Deadline}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSoft_Local_DeadlineAdapter() {
		if (soft_Local_DeadlineItemProvider == null) {
			soft_Local_DeadlineItemProvider = new Soft_Local_DeadlineItemProvider(this);
		}

		return soft_Local_DeadlineItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Sporadic_External_Event} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Sporadic_External_EventItemProvider sporadic_External_EventItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Sporadic_External_Event}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSporadic_External_EventAdapter() {
		if (sporadic_External_EventItemProvider == null) {
			sporadic_External_EventItemProvider = new Sporadic_External_EventItemProvider(this);
		}

		return sporadic_External_EventItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Sporadic_Server_Policy} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Sporadic_Server_PolicyItemProvider sporadic_Server_PolicyItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Sporadic_Server_Policy}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSporadic_Server_PolicyAdapter() {
		if (sporadic_Server_PolicyItemProvider == null) {
			sporadic_Server_PolicyItemProvider = new Sporadic_Server_PolicyItemProvider(this);
		}

		return sporadic_Server_PolicyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.SRP_Parameters} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SRP_ParametersItemProvider srP_ParametersItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.SRP_Parameters}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSRP_ParametersAdapter() {
		if (srP_ParametersItemProvider == null) {
			srP_ParametersItemProvider = new SRP_ParametersItemProvider(this);
		}

		return srP_ParametersItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.SRP_Resource} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SRP_ResourceItemProvider srP_ResourceItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.SRP_Resource}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSRP_ResourceAdapter() {
		if (srP_ResourceItemProvider == null) {
			srP_ResourceItemProvider = new SRP_ResourceItemProvider(this);
		}

		return srP_ResourceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.System_Timed_Activity} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected System_Timed_ActivityItemProvider system_Timed_ActivityItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.System_Timed_Activity}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSystem_Timed_ActivityAdapter() {
		if (system_Timed_ActivityItemProvider == null) {
			system_Timed_ActivityItemProvider = new System_Timed_ActivityItemProvider(this);
		}

		return system_Timed_ActivityItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Ticker_System_Timer} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Ticker_System_TimerItemProvider ticker_System_TimerItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Ticker_System_Timer}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createTicker_System_TimerAdapter() {
		if (ticker_System_TimerItemProvider == null) {
			ticker_System_TimerItemProvider = new Ticker_System_TimerItemProvider(this);
		}

		return ticker_System_TimerItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link es.esi.gemde.vv.mast.mastmodel.Unbounded_External_Event} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected Unbounded_External_EventItemProvider unbounded_External_EventItemProvider;

	/**
	 * This creates an adapter for a {@link es.esi.gemde.vv.mast.mastmodel.Unbounded_External_Event}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createUnbounded_External_EventAdapter() {
		if (unbounded_External_EventItemProvider == null) {
			unbounded_External_EventItemProvider = new Unbounded_External_EventItemProvider(this);
		}

		return unbounded_External_EventItemProvider;
	}

	/**
	 * This returns the root adapter factory that contains this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ComposeableAdapterFactory getRootAdapterFactory() {
		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
	}

	/**
	 * This sets the composed adapter factory that contains this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
		this.parentAdapterFactory = parentAdapterFactory;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean isFactoryForType(Object type) {
		return supportedTypes.contains(type) || super.isFactoryForType(type);
	}

	/**
	 * This implementation substitutes the factory itself as the key for the adapter.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter adapt(Notifier notifier, Object type) {
		return super.adapt(notifier, this);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object adapt(Object object, Object type) {
		if (isFactoryForType(type)) {
			Object adapter = super.adapt(object, type);
			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
				return adapter;
			}
		}

		return null;
	}

	/**
	 * This adds a listener.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void addListener(INotifyChangedListener notifyChangedListener) {
		changeNotifier.addListener(notifyChangedListener);
	}

	/**
	 * This removes a listener.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void removeListener(INotifyChangedListener notifyChangedListener) {
		changeNotifier.removeListener(notifyChangedListener);
	}

	/**
	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void fireNotifyChanged(Notification notification) {
		changeNotifier.fireNotifyChanged(notification);

		if (parentAdapterFactory != null) {
			parentAdapterFactory.fireNotifyChanged(notification);
		}
	}

	/**
	 * This disposes all of the item providers created by this factory. 
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void dispose() {
		if (activityItemProvider != null) activityItemProvider.dispose();
		if (alarm_Clock_System_TimerItemProvider != null) alarm_Clock_System_TimerItemProvider.dispose();
		if (barrierItemProvider != null) barrierItemProvider.dispose();
		if (bursty_External_EventItemProvider != null) bursty_External_EventItemProvider.dispose();
		if (character_Packet_DriverItemProvider != null) character_Packet_DriverItemProvider.dispose();
		if (composite_OperationItemProvider != null) composite_OperationItemProvider.dispose();
		if (composite_Timing_RequirementItemProvider != null) composite_Timing_RequirementItemProvider.dispose();
		if (concentratorItemProvider != null) concentratorItemProvider.dispose();
		if (delayItemProvider != null) delayItemProvider.dispose();
		if (delivery_ServerItemProvider != null) delivery_ServerItemProvider.dispose();
		if (document_RootItemProvider != null) document_RootItemProvider.dispose();
		if (edF_PolicyItemProvider != null) edF_PolicyItemProvider.dispose();
		if (edF_SchedulerItemProvider != null) edF_SchedulerItemProvider.dispose();
		if (enclosing_OperationItemProvider != null) enclosing_OperationItemProvider.dispose();
		if (fixed_Priority_PolicyItemProvider != null) fixed_Priority_PolicyItemProvider.dispose();
		if (fixed_Priority_SchedulerItemProvider != null) fixed_Priority_SchedulerItemProvider.dispose();
		if (fP_Packet_Based_SchedulerItemProvider != null) fP_Packet_Based_SchedulerItemProvider.dispose();
		if (global_Max_Miss_RatioItemProvider != null) global_Max_Miss_RatioItemProvider.dispose();
		if (hard_Global_DeadlineItemProvider != null) hard_Global_DeadlineItemProvider.dispose();
		if (hard_Local_DeadlineItemProvider != null) hard_Local_DeadlineItemProvider.dispose();
		if (immediate_Ceiling_ResourceItemProvider != null) immediate_Ceiling_ResourceItemProvider.dispose();
		if (interrupt_FP_PolicyItemProvider != null) interrupt_FP_PolicyItemProvider.dispose();
		if (list_of_DriversItemProvider != null) list_of_DriversItemProvider.dispose();
		if (local_Max_Miss_RatioItemProvider != null) local_Max_Miss_RatioItemProvider.dispose();
		if (masT_MODELItemProvider != null) masT_MODELItemProvider.dispose();
		if (max_Output_Jitter_ReqItemProvider != null) max_Output_Jitter_ReqItemProvider.dispose();
		if (message_TransmissionItemProvider != null) message_TransmissionItemProvider.dispose();
		if (multicastItemProvider != null) multicastItemProvider.dispose();
		if (non_Preemptible_FP_PolicyItemProvider != null) non_Preemptible_FP_PolicyItemProvider.dispose();
		if (offsetItemProvider != null) offsetItemProvider.dispose();
		if (overridden_Fixed_PriorityItemProvider != null) overridden_Fixed_PriorityItemProvider.dispose();
		if (overridden_Permanent_FPItemProvider != null) overridden_Permanent_FPItemProvider.dispose();
		if (packet_Based_NetworkItemProvider != null) packet_Based_NetworkItemProvider.dispose();
		if (packet_DriverItemProvider != null) packet_DriverItemProvider.dispose();
		if (periodic_External_EventItemProvider != null) periodic_External_EventItemProvider.dispose();
		if (polling_PolicyItemProvider != null) polling_PolicyItemProvider.dispose();
		if (primary_SchedulerItemProvider != null) primary_SchedulerItemProvider.dispose();
		if (priority_Inheritance_ResourceItemProvider != null) priority_Inheritance_ResourceItemProvider.dispose();
		if (query_ServerItemProvider != null) query_ServerItemProvider.dispose();
		if (rate_DivisorItemProvider != null) rate_DivisorItemProvider.dispose();
		if (regular_EventItemProvider != null) regular_EventItemProvider.dispose();
		if (regular_ProcessorItemProvider != null) regular_ProcessorItemProvider.dispose();
		if (regular_Scheduling_ServerItemProvider != null) regular_Scheduling_ServerItemProvider.dispose();
		if (regular_TransactionItemProvider != null) regular_TransactionItemProvider.dispose();
		if (rteP_PacketDriverItemProvider != null) rteP_PacketDriverItemProvider.dispose();
		if (secondary_SchedulerItemProvider != null) secondary_SchedulerItemProvider.dispose();
		if (simple_OperationItemProvider != null) simple_OperationItemProvider.dispose();
		if (singular_External_EventItemProvider != null) singular_External_EventItemProvider.dispose();
		if (soft_Global_DeadlineItemProvider != null) soft_Global_DeadlineItemProvider.dispose();
		if (soft_Local_DeadlineItemProvider != null) soft_Local_DeadlineItemProvider.dispose();
		if (sporadic_External_EventItemProvider != null) sporadic_External_EventItemProvider.dispose();
		if (sporadic_Server_PolicyItemProvider != null) sporadic_Server_PolicyItemProvider.dispose();
		if (srP_ParametersItemProvider != null) srP_ParametersItemProvider.dispose();
		if (srP_ResourceItemProvider != null) srP_ResourceItemProvider.dispose();
		if (system_Timed_ActivityItemProvider != null) system_Timed_ActivityItemProvider.dispose();
		if (ticker_System_TimerItemProvider != null) ticker_System_TimerItemProvider.dispose();
		if (unbounded_External_EventItemProvider != null) unbounded_External_EventItemProvider.dispose();
	}

}
